This invention relates generally to the field of computer video display systems. More particularly, this invention relates to a computer video graphics system capable of displaying multiple windows with each window displaying an independently selectable pixel datatype and format.
In computer video graphics systems, a monitor displays frames of information provided by a frame buffer or other dual-ported memory many times a second. The subsystem of a video graphics system between the frame buffer and the monitor is called the video datapath. As the format and content of video data becomes increasingly complex, the capability of video displays increases. For example, providing the feature of windows in graphics systems increases the demand on and complexity of the video datapath. Large volumes of digital data in the form of state information are called for to define window boundaries and other window attributes or characteristics. That data must be loaded into state tables in the datapath chips.
Window systems allow graphics workstations to display data from multiple applications at the same time. Space on the display screen is allocated among the different windows. Each window may have different purposes that require differing uses of the planes in the frame buffer. Each different use of the planes of a pixel is a different pixel datatype or format.
There is a traditional distinction between two types of color frame buffers: pseudocolor and full color. As used herein, the term datatype is understood to mean the mode by which a pixel value is interpreted for display on a monitor and the term format refers to all other manipulations performed on pixel values for display. Pseudocolor and full color are two examples of datatypes. Pseudocolor frame buffers use colormaps to select an independent display color for each pixel value. A typical number of planes in a pseudocolor frame buffer is 8, which requires 256 colormap entries. Full color frame buffers typically have 24 planes, which directly drive the digital to analog converters (DACs) for the red, green and blue color channels, using 8 bits for each.
Modern 24 plane displays typically have a "backwards compatibility" mode, in which 8 of their planes are routed through a colormap, which can be selected to drive the display in pseudocolor mode instead of using all 24 planes in full color mode. The mode selection is made for the entire screen at the same time such that the entire screen is either in full color mode or in pseudocolor mode.
Some frame buffers provide one or more overlay planes. However, the overlay planes can only be used for overlays, and all windows that use them must use the same overlay colors.
In a graphics subsystem employing windowing, it is desirable that independent windows on a display screen process pixel values from the frame buffer in different ways. Each window can define its own interpretation of pixel values in the frame buffer out of a wide range of possible pixel datatypes.
It is also desirable that multiple windows use their own distinct pixel datatypes while being displayed simultaneously on the screen. In this way, different windows can use full color or pseudocolor frame buffer organizations, can use overlay planes or not, and can have other differences in their interpretation of the pixel values without affecting each other. For example, in a 24 plane frame buffer, one window may use 8 plane pseudocolor pixels, so that 8 of the planes select one of 256 colors. Another window may occupy all 24 planes, using 8 planes each to drive the red, green, and blue channels of the monitor. A third window may require overlay planes, or may only need a smaller number of colormap entries. In such a system all of these windows can be displayed simultaneously, with the correct pixel datatype and format used to interpret the values of the pixels belonging to each window.